package com.sz.mes.excel.model;

import java.util.Date;
import java.lang.Double;
import java.math.BigDecimal;
import java.util.List;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.excel.enums.poi.FillPatternTypeEnum;
import com.diboot.core.util.D;
import com.diboot.core.util.V;
import com.diboot.file.excel.BaseExcelModel;
import com.diboot.file.excel.annotation.ExcelBindDict;
import com.diboot.file.excel.annotation.ExcelBindField;
import com.diboot.file.excel.annotation.ExcelOption;
import com.fasterxml.jackson.annotation.JsonFormat;

import lombok.Getter;
import lombok.Setter;
import com.diboot.iam.entity.IamUser;
import com.diboot.iam.entity.IamUser;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;

import com.sz.mes.entity.Outbound;

/**
* 出库 导入model定义
* @author hem
* @version 1.0
* @date 2023-06-07
* Copyright © szhs
*/
@Getter @Setter
@ExcelIgnoreUnannotated
@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 1)
public class OutboundImportModel extends BaseExcelModel {
	
    /**
     * 出库单号
     */
    @Length(max=100, message="出库单号长度应小于100")
    @ExcelProperty(value = "出库单号")
    private String outboundNum;	
    /**
     * 签收人id
     */
    @ExcelBindField(entity = IamUser.class, field = "realname", setIdField = "reciveUserId")
    @ExcelProperty(value = "签收人id")
    private String receiveUser;
    
    private Long reciveUserId;
	
    /**
     * 领料单id
     */
    @ExcelProperty(value = "领料单id")
    private Long picklistId;	
    /**
     * 领料单单号
     */
    @Length(max=100, message="领料单单号长度应小于100")
    @ExcelProperty(value = "领料单单号")
    private String picklistNum;	
    /**
     * 出库数量
     */
    @ExcelProperty(value = "出库数量")
    private Integer quantity;	
    /**
     * 出库类型
     */
    @Length(max=100, message="出库类型长度应小于100")
    @ExcelOption(dict = Outbound.DICT_RECEIPT_TYPE)
    @ExcelBindDict(type = Outbound.DICT_RECEIPT_TYPE)
    @ExcelProperty(value = "出库类型")
    private String outboundType;	
    /**
     * 更新人
     */
    @ExcelBindField(entity = IamUser.class, field = "realname", setIdField = "updateBy")
    @ExcelProperty(value = "更新人")
    private String updateByName;
    
    private Long updateBy;

}